package com.app.repository.interfaces;

import com.app.model.main.SystemMessage;

import java.util.List;

public interface SystemMessageMapper {
    int deleteByPrimaryKey(Long id);

    int insert(SystemMessage record);

    int insertSelective(SystemMessage record);

    SystemMessage selectByPrimaryKey(Long id);

    /**
     * 更新操作面向所有字段，若某个字段没给值，则执行更新操作时会跳过此字段
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(SystemMessage record);

    /**
     * 更新操作面向所有字段，执行更新操作时会更新所有字段
     * 详情见SystemMessageMapper.xml
     * @param record
     * @return
     */
    int updateByPrimaryKeyWithBLOBs(SystemMessage record);

    /**
     * 更新操作面向create_time字段和is_pushed字段，执行更新操作时只更新这两个字段
     * （如果某个字段数据库不允许为空，更新时没有值，系统会报错）
     * 详情见SystemMessageMapper.xml
     * @param record
     * @return
     */
    int updateByPrimaryKey(SystemMessage record);

    SystemMessage selectByParam(String time);

    List<SystemMessage> getUnPushedSystemMessage();
}